Implementation of Strong Mobility for Multi-Threaded Agents in Java
نویسندگان
چکیده
Strong mobility, which allows an external thread to transparently migrate an agent at any time, is difficult to implement in Java since the Java Virtual Machine does not allow serializing the runtime stack. We give an overview of our implementation strategy for strong mobility in which each agent thread maintains its own serializable execution state at all times. We explain how to solve the synchronization problems involved in migrating a multi-threaded agent and how to terminate the underlying Java threads in the originating virtual machine. We present experimental results that indicate that our implementation approach will be feasible in practice.
منابع مشابه
Persisting Autonomous Workflow for Mobile Agents Using a Mobile Thread Programming Model
In this paper, we present a Mobile Thread Programming Model (MTPM), a model to simulate the persistence of a migratory thread, to overcome the problem of coexistence of mobility, persistence and autonomy for mobile agents. An advantage of MTPM over other code mobility paradigms is that the model simulates strong mobility at the application-level rather than at the system-level as used in many s...
متن کاملActiveMonitor: Non-blocking Monitor Executions for Increased Parallelism
We present a set of novel ideas on design and implementation of monitor objects for multi-threaded programs. Our approach has two main goals: (a) increase parallelism in monitor objects and thus provide performance gains (shorter runtimes) for multi-threaded programs, and (b) introduce constructs that allow programmers to easily write monitor-based multi-threaded programs that can achieve these...
متن کاملScalable Dynamic Deadlock Analysis of Multi-Threaded Programs
This paper presents a dynamic program analysis algorithm that can detect deadlock potentials in a multi-threaded program by examining a single execution trace, obtained by running an instrumented version of the program. The algorithm is interesting because it can identify deadlock potentials even though no deadlocks occur in the examined execution, and therefore it scales very well in contrast ...
متن کاملMobile Reactive Programming in ULM
We present the embedding of ULM [7] in Scheme and an implementation of a compiler and virtual machine for it. ULM is a core programming model that allows multi-threaded and distributed programming via strong mobility with a deterministic semantics. We present the multi-threading and distributed primitives of ULM step by step using examples. The introduction of mobility in a Scheme language rais...
متن کاملDeterministic Replay of Distributed Java Applications
Execution behavior of a Java application can be nondeterministic due to concurrent threads of execution, thread scheduling, and variable network delays. This nondeterminism in Java makes the understanding and debugging of multi-threaded distributed Java applications a difficult and a laborious process. It is well accepted that providing deterministic replay of application execution is a key ste...
متن کامل